﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Vit.Common;
using Vit.Web.Models;

namespace Vit.Web.Providers
{
    public interface IPortalProvider : IProvider
    {
        IWebSite GetWebSite(string url);
        IPage GetPage(string url);

        ITheme GetCurrentTheme();
        ISkin GetCurrentSkin();
        EditMode GetCurrentUserMode();

        IEnumerable<IPortal> GetPortals();
        IPortal GetPortalByName(string name);

        void AddPortal(IPortal portal);
        void UpdatePortal(IPortal portal);
        void DeleteProtal(IPortal portal);

        IWebSite GetWebSiteByName(string name);
        void AddWebSiteToPortal(IWebSite website, IPortal portal);
        void UpdateWebSite(IWebSite website);
        void DeleteWebSiteFromPortal(IWebSite website, IPortal portal);
        void SetWebSitePortal(IWebSite website, IPortal portal);

        IEnumerable<IWebModule> GetWebModules();
        IWebModule GetWebModuleByID(Guid id);
    }
}
